//
//  main.m
//  03_NSString练习
//
//  Created by dllo on 16/7/6.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

#if 0
//   1.330184198501184115 处理字符串, 取出他的出生年月, 并计算出年龄(不用具体)
    // 输出格式 1985年01月18日 年龄:31岁
    NSString *str = @"330184198501184115";
    NSString *birthYear = [str substringWithRange:NSMakeRange(6,4)];
    NSString *birthMonth = [str substringWithRange:NSMakeRange(10,2)];
    NSString *birthDay = [str substringWithRange:NSMakeRange(12,2)];
    int age = 2016 - birthYear.intValue;
    NSLog(@"%@年%@月%@日 年龄:%d", birthYear, birthMonth, birthDay, age);
#endif
 
#if 0
    // 数组:可变数组NSMutableArray 和 不可变数组NSArray
    // 数组存放有序元素,只能存放对象类型,可以增删改
    
    // 初始化:顺序填入你需要的元素,推荐使用字面量
    NSArray *arr1 = [[NSArray alloc] initWithObjects:@"123", nil, @"234", @"345", @"456", nil];
    NSArray *arr2 = [NSArray arrayWithObjects:@"123", @"234", nil, @"345", @"456", nil];
    NSArray *arr3 = @[@"123", @"234", @"345", @"456"];
    // 创建数组的时候推荐使用字面量的方式, 字面量可以识别对象是否为空值, 但一般的方法不可以, 如果为空, 字面量会崩溃.
    // 但是, 初始化方法会识别空值为结束, 并不会产生问题, 造成数据丢失
    
    // 取值相关
    NSLog(@"%ld", arr1.count);
    NSString *numberString = [arr1 objectAtIndex:1];
    NSString *numberString1 = arr1[1];
    // 根据值取对应的下标
    NSUInteger indexOfObject = [arr1 indexOfObject:@"123"];
    // 判断对象是否存在数组中
    BOOL isHaveObject = [arr1 containsObject:@"123"];
    NSLog(@"%@", isHaveObject ? @"YES" : @"NO");
    
    // 不可变数组, 会生成新数组,不会再原数组上修改
    arr1 = [arr1 arrayByAddingObject:@"999"];
    
    // 可变数组:字面量
    // 遇到可变数组,只能使用初始化方法或便利构造器,不推荐使用字面量
    NSMutableArray *mutableArray = @[].mutableCopy;
    // 可变数组的元素的改变
    [mutableArray addObject:@"123"];
    [mutableArray insertObject:@"含蓄" atIndex:0];
    [mutableArray removeObject:0];
    [mutableArray removeLastObject];
    [mutableArray removeAllObjects];
    [mutableArray replaceObjectAtIndex:0 withObject:@"含蓄"];
    
    // 总结 可变与不可变的区别
    /* 1.可变是可以修改的,不可变是不可以修改的
       2.不可变调用改变方法时,会生成新的对象;可变调用改变方法时,在对象本身上修改
       3.可变 继承于 不可变
     */
#endif
    
#if 1
    NSString *urlString = @"www.lanou.com";
    // 截成数组的时候,会丢失截取字符
    NSArray *urlArray = [urlString componentsSeparatedByString:@"."];
    NSLog(@"%@", urlArray);
    
    NSArray *nameArray = @[@"含蓄", @"隔壁", @"老黄"];
    NSString *nameString = [nameArray componentsJoinedByString:@"&"];
    NSLog(@"%@", nameString);
#endif
    
    return 0;
}
